List Of Java Virtual Machines
   HOME

TheInfoList



OR:

This article provides non-exhaustive lists of
Java SE Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses Ja ...
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
s (JVMs). It does not include every
Java ME Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digital assistants, TV set-top ...
vendor. Note that
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimized for Java EE applications. Much Java development work takes place on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
, and
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
, primarily with the
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
JVMs. Note the further complication of different
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
/
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
varieties. The primary reference Java VM implementation is HotSpot, produced by
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
and many other big and medium-sized companies (e.g. IBM, Redhat,
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
,
Azul Azul, meaning "blue" in Spanish and Portuguese, may refer to: Arts and entertainment * ''Azul'' (Los Piojos album), 1998 * ''Azul'' (Cristian Castro album), 2001 * Azul Azul, a Bolivian pop-dance music group ** "Azul" (song), the title song * " ...
,
SAP Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a separa ...
).


Free and open source implementations


Active

*
Codename One Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems (like Android, iOS, Windows, MacOS, and others). It was created by the co-founders of LWU ...
– uses the open source ParparVM * Eclipse OpenJ9 – open-source from IBM J9, for AIX, Linux (x86, Power, and Z), macOS, Windows, MVS, OS/400, Pocket PC, z/OS. *
GraalVM GraalVM is a Java VM and JDK based on HotSpot/OpenJDK, implemented in Java. It supports additional programming languages and execution modes, like ahead-of-time compilation of Java applications for fast startup and low memory footprint. The fi ...
– is based on HotSpot/OpenJDK, it has a polyglot feature, to transparently mix and match supported languages. * HotSpot – the open-source Java VM implementation by Oracle. *
Jikes RVM Jikes is an open-source Java compiler written in C++. It is no longer being updated. The original version was developed by David L. "Dave" Shields and Philippe Charles at IBM but was quickly transformed into an open-source project contribute ...
(Jikes Research Virtual Machine) – research project.
PPC PPC may refer to: Computing * Personal programmable calculator, programmable calculators for personal use * Pay-per-click, an internet advertising model * PearPC, a PowerPC platform emulator * Peercoin, a peer-to-peer cryptocurrency * Periphera ...
and
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of ...
. Supports Apache Harmony and GNU Classpath libraries.
Eclipse Public License The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to ...
. *
leJOS "Lejos" (English: "Far") is a song by Puerto Rican-American singer-songwriter Toby Love. It was released on August 21, 2012 by Top Stop Music for his fourth studio album, '' Amor Total''. The song's music video, which was directed by Danny Hastin ...
– Robotics suite, a firmware replacement for
Lego Mindstorms Lego Mindstorms is a hardware and software structure which develops programmable robots based on Lego building blocks. Each version includes computer Lego bricks, a set of modular sensors and motors, and Lego parts from the Technic line to ...
programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots. * Maxine – meta-circular open source research VM from Oracle Labs and the University of Manchester.


Inactive

* Apache Harmony – supports several architectures and systems. Discontinued November 2011. Apache License 2.0. * GCJ the GCC Java compiler, that compiles either to bytecode or to native machine code. As of GCC 7, gcj and associated libjava runtime library have been removed from GCC. *
IKVM.NET IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. IKVM is free software, distributed under the zlib permissive free software license. The original developer, Jeroen Frijters, discontinued work on IKVM in 2015. In ...
– Java for
Mono Mono may refer to: Common meanings * Infectious mononucleosis, "the kissing disease" * Monaural, monophonic sound reproduction, often shortened to mono * Mono-, a numerical prefix representing anything single Music Performers * Mono (Japanese b ...
and the Microsoft .NET Framework. Uses
OpenJDK OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only wi ...
.
Zlib License The zlib license is a permissive free software license which defines the terms under which the zlib software library can be distributed. It is also used by many other free software packages. The libpng library uses a similar license sometimes r ...
. *
JamVM JamVM is an open-source Java Virtual Machine (JVM) developed to be extremely small compared with other virtual machines (VMs) while conforming to the Java virtual machine specification version 2 (blue book). JamVM can be configured to use the GNU ...
– developed to be an extremely small virtual machine. Uses GNU Classpath and
OpenJDK OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only wi ...
. Supports several architectures. GPL. Last update 2014. * JOP – hardware implementation of the JVM. GPL 3. *
Juice Juice is a drink made from the extraction or Cold-pressed juice, pressing of the natural liquid contained in fruit and vegetables. It can also refer to liquids that are flavored with concentrate or other biological food sources, such as meat ...
JavaME experimental
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
developed to run on the NUXI operating system. *
Jupiter Jupiter is the fifth planet from the Sun and the List of Solar System objects by size, largest in the Solar System. It is a gas giant with a mass more than two and a half times that of all the other planets in the Solar System combined, but ...
– uses
Boehm garbage collector The Boehm–Demers–Weiser garbage collector, often simply known as Boehm GC, is a conservative garbage collector for C and C++ developed by Hans Boehm, Alan Demers, and Mark Weiser.Hans BoehmA garbage collector for C and C++/ref> Andrew W. Appe ...
and GNU Classpath. GPL. Unmaintained. *
Kaffe Kaffe is a discontinued "clean room design" (reverse engineering) version of a Java Virtual Machine. It comes with a subset of the Java Platform, Standard Edition (Java SE), Java API, and tools needed to provide a Java runtime environment. Like m ...
– uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008. *
Mika VM Mika VM is an open-source implementation of the Java virtual machine specification, together with class libraries which implement the Connected Device Configuration of Java ME. Mika VM is based on Wonka VM, which was developed independently of a ...
– intended for use in embedded devices. Cross-platform.
BSD-style licence A permissive software license, sometimes also called BSD-like or BSD-style license, is a free-software license which instead of copyleft protections, carries only minimal restrictions on how the software can be used, modified, and redistributed, ...
. *
NanoVM NanoVM is an open-source implementation of the Java virtual machine. The NanoVM was initially developed to run on the Atmel AVR ATmega8 used in the Asuro Robot. It was ported to run on the C't-Bot and the Nibo-robot and can easily be ported to o ...
– developed to run on the
Atmel AVR AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit Reduced instruction set computer, RISC single-chip microcontrollers. AVR was one of the f ...
ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems. *
SableVM SableVM was a clean room implementation of Java bytecode interpreter implementing the Java virtual machine ( VM) specification, second edition. SableVM was designed to be a robust, extremely portable, efficient, and fully specifications-compliant ...
– first free software JVM to support JVMDI and JDWP. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007. *
Squawk virtual machine Squawk is a Java micro edition virtual machine for embedded system and small devices. Most virtual machines for the Java platform are written in low level native languages such as C/C++ and assembler; what makes Squawk different is that Squawk's ...
– a
Java ME Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digital assistants, TV set-top ...
VM for embedded systems and small devices. Cross-Platform. GPL. * SuperWaba – Java-like virtual machine for portable devices. GPL. Discontinued, succeeded by TotalCross. * TakaTuka – for
wireless sensor network Wireless sensor networks (WSNs) refer to networks of spatially dispersed and dedicated sensors that monitor and record the physical conditions of the environment and forward the collected data to a central location. WSNs can measure environmental c ...
devices. GPL. *
TinyVM TinyVM is a small Java Virtual Machine primarily designed for use embedded systems with low memory. In 2000, the project was forked into LeJOS "Lejos" (English: "Far") is a song by Puerto Rican-American singer-songwriter Toby Love. It was releas ...
. * VMKit of
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate represen ...
. * Wonka VM – developed to run on Acunia's ARM-based hardware. Some code drawn from GNU Classpath.
BSD-style licence A permissive software license, sometimes also called BSD-like or BSD-style license, is a free-software license which instead of copyleft protections, carries only minimal restrictions on how the software can be used, modified, and redistributed, ...
. No longer under active development, superseded by
Mika VM Mika VM is an open-source implementation of the Java virtual machine specification, together with class libraries which implement the Connected Device Configuration of Java ME. Mika VM is based on Wonka VM, which was developed independently of a ...
.


Java operating systems

Some JVM's are intended to run without an underlying OS. * JX – Java operating system that focuses on a flexible and robust operating system architecture developed as an open source system by the University of Erlangen. GPL. Version 0.1.1 released on October 10, 2007 *
JavaOS JavaOS is an operating system based on a Java virtual machine and predominantly used on SIM cards to run applications on behalf of operators and security services. It was originally developed by Sun Microsystems. Unlike Microsoft Windows, Windows, ...
– Original project from Sun Microsystems


Proprietary implementations


Active

* Azul Platform Prime – a fully compliant, high-performance Java virtual machine based on OpenJDK that uses
Azul Systems Azul Systems, Inc. develops runtimes ( JDKs, JVMs) for executing Java-based applications. Founded in March 2002, Azul Systems is headquartered in Sunnyvale, California Products Azul Platform Prime (Formerly Zing) Azul produces ''Platform ...
's C4 garbage collector and Falcon JIT compiler. *
JamaicaVM The JamaicaVM is a virtual machine and build environment for developing and running realtime Java programs. It includes a deterministic garbage collector and implements the RTSJ.Fridtjof Siebert, "Realtime Garbage Collection in the JamaicaVM 3.0 ...
(
aicas aicas GmbH is a software corporation headquartered in Germany with subsidiaries in France and the United States. aicas provides Java technology and analysis tools for realtime and embedded systems. Its flagship product is JamaicaVM, a Java Virtu ...
) – a hard real-time Java VM for embedded systems.


Inactive

*
Excelsior JET Excelsior JET is a now-defunct proprietary Java SE technology implementation built around an ahead-of-time (AOT) Java to native code compiler. The compiler transforms the portable Java bytecode into optimized executables for the desired hardware a ...
– a licensed Java SE implementation with AOT compiler for Windows, OS X, and Linux on
Intel x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
and Linux on 32-bit
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
. *
Jinitiator Jinitiator is a Java virtual machine (JVM) made and distributed by Oracle Corporation. It allows a web enabled Oracle Forms client application to be run inside a web browser. This JVM is called only when a web-based Oracle application is acces ...
– developed by Oracle before they purchased Sun. Designed to improve support for
Oracle Forms Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE that includes an object navigator, property sheet, and code editor that uses PL/SQL. It was originally developed to run server-side in c ...
in web sites. *
JRockit JRockit was a proprietary Java virtual machine (JVM) originally developed by Appeal Virtual Machines, acquired by BEA Systems in 2002, and became part of Oracle Fusion Middleware as part of acquisition of BEA Systems in 2008. The JRockit code ba ...
(originally from
Appeal Virtual Machines Appeal Virtual Machines was a Swedish company created in 1998 by students from the Royal Institute of Technology in Stockholm. They were mainly known for their JRockit Java Virtual Machine. They were acquired in 2002 by BEA Systems BEA Sys ...
) – acquired by Oracle for Linux, Windows and Solaris. * Mac OS Runtime for Java (MRJ). * Microsoft Java Virtual Machine – discontinued in 2001.


Lesser-known proprietary Java virtual machines

* Blackdown Java was a licensed port to Linux of the reference SunSoft implementation. It was discontinued in 2007, after
OpenJDK OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only wi ...
became available. * Sun CVM – CVM originally standing for "Compact Java Virtual Machine". *
Gemstone A gemstone (also called a fine gem, jewel, precious stone, or semiprecious stone) is a piece of mineral crystal which, in cut and polished form, is used to make jewelry or other adornments. However, certain rocks (such as lapis lazuli, opal, ...
– modified for Java EE features (application DBMS). *
Intent Intentions are mental states in which the agent commits themselves to a course of action. Having the plan to visit the zoo tomorrow is an example of an intention. The action plan is the ''content'' of the intention while the commitment is the ''a ...
(Tao Group). * PreonVM – a Java VM for embedded systems and small and resource constrained devices.


See also

* Comparison of Java virtual machines *
Free Java implementations Free Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, making them free software. Sun released most of its Java source code as free software in May 2007, so it ca ...
*
Java processor A Java processor is the implementation of the Java virtual machine (JVM) in hardware. In other words, the Java bytecode that makes up the instruction set of the abstract machine becomes the instruction set of a concrete machine. These were the most ...
*
Dalvik virtual machine Dalvik is a discontinued process virtual machine (VM) in the Android operating system that executes applications written for Android. (Dalvik bytecode format is still used as a distribution format, but no longer at runtime in newer Android versio ...


References


External links


List of Java virtual machines (JVMs), Java development kits (JDKs), Java runtime environments (JREs)
{{Java Virtual Machine Java platform software
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
Java virtual machines